﻿/*************************************************************************************

- CLR版本：        4.0.30319.42000
- 类 名 称：       ICamera
- 机器名称：       YTE
- 命名空间：       LD.Vision
- 文 件 名：       ICamera
- 创建时间：       2022/7/13 16:56:38
- 作    者：       YTE
- 说   明：
- 修改时间：
- 修 改 人：
  *************************************************************************************/

using HalconDotNet;
using HWindow_Tool.Control;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LD.Vision
{
    public interface ICamera
    {
        HWindow_Final HWindow { get; set; }
        /// <summary>
        /// 打开相机
        /// </summary>
        /// <param name="index"></param>
        bool Open(int index);
        /// <summary>
        /// 关闭相机
        /// </summary>
        void Close();
        /// <summary>
        /// 开始
        /// </summary>
        void StartGrab();
        /// <summary>
        /// 停止
        /// </summary>
        void StopGrab();
        /// <summary>
        /// 连续采集
        /// </summary>
        bool ContinuesMode { get; set; }
        /// <summary>
        /// 触发模式
        /// </summary>
        bool TriggerMode { get; set; }
        /// <summary>
        /// 软触发一次
        /// </summary>
        void Trigger();
        /// <summary>
        /// 曝光
        /// </summary>
        /// <returns></returns>
        float Exposure { get; set; }
        /// <summary>
        /// 增益
        /// </summary>
        /// <returns></returns>
        float Gain { get; set; }
        /// <summary>
        /// 帧率
        /// </summary>
        /// <returns></returns>
        float FrameRate { get; set; }
        /// <summary>
        /// 伽马
        /// </summary>
        float Gamma { get; set; }

        /// <summary>
        /// 相机数量
        /// </summary>
        /// <returns></returns>
        List<string> GetCamera();
    }
}
